igloo

Création d’un dépôt local pour Gentoo

mise à jour: 07/2026

Il est possible que vous ayez plusieurs machines tournant sous Gentoo et que par souci d’économie de vos ressources réseau (et celles des miroirs Gentoo), vous souhaitiez créer votre propre miroir sur une machine locale.

Depuis le serveur:

Choisissez l’hôte qui fera office de serveur et éditez son fichier /etc/rsyncd.conf :

# emacs /etc/rsyncd.conf

pid file = /run/rsyncd.pid
max connections = 5
use chroot = yes
uid = nobody
gid = nobody
read only = yes
[gentoo-portage]
path = /usr/portage
comment = Gentoo Portage tree

Démarrez le service et ajoutez le au démarrage :

# rc-service rsyncd start
# rc-update add rsyncd default

testez (depuis un client, si possible) et mettez à jour Portage sur votre serveur :

# rsync ip_serveur::

doit renvoyer 'gentoo-portage Gentoo Portage'

# rsync ip_serveur::gentoo-portage

doit renvoyer la liste des paquets

# emerge --sync

ou

# emerge-webrsync

Depuis vos clients:

éditez le fichier /etc/portage/repos.conf/gentoo.conf :

[DEFAULT]
main-repo = gentoo

[gentoo]
location = /usr/portage
sync-type = rsync
sync-uri = rsync://ip_serveur/gentoo-portage ← ip du serveur à modifier.
auto-sync = yes

et mettez à jour portage

# emerge --sync

Cron :

Afin de mettre à jour le serveur automatiquement, vous pouvez installez un démon 'cron' (un programme qui permet aux utilisateurs des systèmes Unix d’exécuter automatiquement des scripts, des commandes ou des logiciels à une date et une heure spécifiées à l’avance, ou selon un cycle défini à l’avance. ).

Il existe plusieurs version, normalement, vous avez déjà choisi lors de l'installation de votre Gentoo.

démarrez le démon (exemple avec dcron) :

# rc-service dcron start

ajoutez le au démarrage :

# rc-update add dcron default

pour éditer cron, utilisez la commande suivante qui doit ouvrir votre éditeur de texte par défaut:

# crontab -e

les 5 premiers champs de votre table indiquent respectivement : les minutes (0-59), les heures(0-23), les jours du mois (1-31), les mois (1-12) et les jours de la semaines ( 0 et 7 pour le dimanche). Une étoile signifie que toutes les valeurs sont acceptées : '* * * * * tâche' lancera 'tâche' toutes les minutes. On peut également spécifier une plage de valeurs en les séparent par un tiret, ou une liste en séparant les valeurs par une virgule.

Pour lancer 'emerge --sync' une fois par jour à 4h00 :

04***/usr/bin/emerge --sync

la commande suivante doit afficher la liste des tâches :

# crontab -l